/**
 * 封装axios库
 * 函数的返回值是promise
 * 统一处理异常请求
 * 在外层包一个自己创建的promise对象
 * 在请求出错时不是reject(error)而是显示错误提示
 * 
 * 优化2： 异步得到不是response，而是response.data
 * 在请求成功resolve时resolve(response.data)
 */

import axios from "axios";
import { message } from "antd";

export default function ajax(url,data={},type="GET"){
    return new Promise((resolve,reject)=>{
        let promise;
        //1.异步执行ajax请求
        if(type==='GET'){
            promise= axios.get(url,{ //配置对象
                params:data   //指定请求参数
            })
        }else if(type==='POST'){  //发送post请求
            promise=axios.post(url,data)
        }else{
           promise=axios.delete(url,data)  //发送delete请求
        }
        //2.如果成功了调用resolve(value)
        promise.then(response=>{
            resolve(response)
        }).catch(error=>{
            message.error("请求出错了"+error.message)
        })
        //3.如果失败了调用reject(reason)
    })

   

}